package com.cy.store.service;

import com.cy.store.entity.User;
import org.springframework.stereotype.Service;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * 业务层用户注册、登录模块接口
 */
public interface IUserService {
    /**
     * 用户注册抽象方法
     * @param user
     */
    void reg(User user);

    /**
     * 用户登录抽象方法
     * @param username
     * @param password
     * @return
     */
    User login(String username, String password);

    /**
     * 修改密码抽象方法,传递username用于更新数据库中的修改人，修改时间直接创建时间对象即可
     * @param uid
     * @param username
     * @param oldPassword
     * @param newPassword
     */
    void changePassword(Integer uid,
                        String username,
                        String oldPassword,
                        String newPassword
                        );

    /**
     * 通过uid查询用户信息
     * @param uid
     * @return
     */
    User findByUid(Integer uid);

    /**
     * 更改用户信息方法
     * @param user
     * @return
     */
    void updateInfo(Integer uid,String username,User user);

    /**
     * 更改用户头像方法
     * @param uid
     * @param avatar
     * @param username
     */
    void updateAvatar(Integer uid,
                      String avatar,
                      String username);
}
